/*lic*/
#ifndef __PORT_LITTLE_FS_PORT_H__
#define __PORT_LITTLE_FS_PORT_H__
// 需要将本文件引入lif_util.h
// 由于MicrolLIB切割了系统级函数。所以这里不能勾选这个库
// 注意勾选MicroLIB是放弃gcc完整库使用精简库。不是扩展而是阉割
#include "main.h"

#define LITTLE_FS_MEM_BLOCK_NUM 4
#define LITTLE_FS_MEM_BLOCK_SIZE 4096

// 块已被使用
#define LITTLE_FS_BLOCK_USED (1<<0)

typedef struct __Tag_Little_Fs_Mem_Def {
	// 块状态
	uint8_t block_status;
	uint8_t block[LITTLE_FS_MEM_BLOCK_SIZE];
}Little_Fs_Mem_Def;

// 静态内存分配
//extern Little_Fs_Mem_Def little_fs_mem_blocks[LITTLE_FS_MEM_BLOCK_NUM];

//// 分配内存
//uint8_t *Little_Fs_Melloc(rt_err_t *err);
//// 清理内存
//rt_err_t Little_Fs_Free(uint8_t *ptr);

#define LFS_MALLOC(SIZE) rt_malloc(SIZE)
#define LFS_FREE(P) rt_free(P)
#define LFS_THREADSAFE
// 不是实际值，而是如果cfg中没定义，该取多大的值
//#define LFS_NAME_MAX 32

extern const struct lfs_config cfg;

// 初始化LFS
void Lfs_Init(void);

// 库测试
void lfs_test(void);

#endif /* __PORT_LITTLE_FS_PORT_H__ */

/*eof*/
